home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / resplfil / rfind.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-03-27  |  4.4 KB  |  173 lines

  1. unit RFind;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, RspFind, ExtCtrls;
  8.  
  9. type
  10.   TFindForm = class(TForm)
  11.     ListBoxResults: TListBox;
  12.     Label1: TLabel;
  13.     ButtonStart: TButton;
  14.     LabelDirectory: TLabel;
  15.     ButtonStop: TButton;
  16.     ButtonNarrow: TButton;
  17.     ButtonPause: TButton;
  18.     ButtonContinue: TButton;
  19.     ButtonExit: TButton;
  20.     PanelConfig: TPanel;
  21.     EditDrives: TEdit;
  22.     EditMask: TEdit;
  23.     EditText: TEdit;
  24.     Label4: TLabel;
  25.     Label3: TLabel;
  26.     Label2: TLabel;
  27.     CheckBoxCase: TCheckBox;
  28.     ListBoxPaths: TListBox;
  29.     EditPaths: TEdit;
  30.     ListBoxFiles: TListBox;
  31.     EditFiles: TEdit;
  32.     ButtonAddFiles: TButton;
  33.     ButtonClearFiles: TButton;
  34.     ButtonAddPaths: TButton;
  35.     ButtonClearPaths: TButton;
  36.     Label5: TLabel;
  37.     Label6: TLabel;
  38.     RspFind1: TRspFind;
  39.     procedure ButtonClearPathsClick(Sender: TObject);
  40.     procedure ButtonAddFilesClick(Sender: TObject);
  41.     procedure ButtonAddPathsClick(Sender: TObject);
  42.     procedure ButtonClearFilesClick(Sender: TObject);
  43.     procedure ButtonStartClick(Sender: TObject);
  44.     procedure RspFind1ChangeDirectory(Sender: TObject; directory: String);
  45.     procedure RspFind1FileFound(Sender: TObject; directory: String;
  46.       fileinfo: TSearchRec);
  47.     procedure ButtonStopClick(Sender: TObject);
  48.     procedure ButtonNarrowClick(Sender: TObject);
  49.     procedure ButtonPauseClick(Sender: TObject);
  50.     procedure ButtonContinueClick(Sender: TObject);
  51.     procedure ButtonExitClick(Sender: TObject);
  52.     procedure RspFind1Completed(Sender: TObject);
  53.     procedure FormCreate(Sender: TObject);
  54.   private
  55.     { Private declarations }
  56.   public
  57.     { Public declarations }
  58.   end;
  59.  
  60. var
  61.   FindForm: TFindForm;
  62.  
  63. implementation
  64.  
  65. {$R *.DFM}
  66.  
  67. procedure TFindForm.ButtonClearPathsClick(Sender: TObject);
  68. begin
  69.      ListBoxPaths.Items.Clear;
  70. end;
  71.  
  72. procedure TFindForm.ButtonAddFilesClick(Sender: TObject);
  73. begin
  74.     ListBoxFiles.Items.Add(EditFiles.Text);
  75. end;
  76.  
  77. procedure TFindForm.ButtonAddPathsClick(Sender: TObject);
  78. begin
  79.     ListBoxPaths.Items.Add(EditPaths.Text);
  80. end;
  81.  
  82. procedure TFindForm.ButtonClearFilesClick(Sender: TObject);
  83. begin
  84.     ListBoxFiles.Items.Clear;
  85. end;
  86.  
  87. procedure TFindForm.ButtonStartClick(Sender: TObject);
  88. begin
  89.     ListBoxResults.Items.Clear;
  90.     RspFind1.Drives:=EditDrives.Text;
  91.     RspFind1.FileMask:=EditMask.Text;
  92.     RspFind1.ContainingText:=EditText.Text;
  93.     RspFind1.Directories.Clear;
  94.     RspFind1.CaseSensitive:=CheckBoxCase.Checked;
  95.     RspFind1.Files.Clear;
  96.     RspFind1.Directories.AddStrings(ListBoxPaths.Items);
  97.     RspFind1.Files.AddStrings(ListBoxFiles.Items);
  98.     ButtonStart.Enabled:=FALSE;
  99.     ButtonStop.Enabled:=TRUE;
  100.     ButtonContinue.Enabled:=FALSE;
  101.     ButtonPause.Enabled:=TRUE;
  102.     PanelConfig.Enabled:=FALSE;
  103.     RspFind1.Start;
  104.  
  105. end;
  106.  
  107. procedure TFindForm.RspFind1ChangeDirectory(Sender: TObject;
  108.   directory: String);
  109. begin
  110.     LabelDirectory.Caption:='Searching in: '+directory;
  111. end;
  112.  
  113. procedure TFindForm.RspFind1FileFound(Sender: TObject; directory: String;
  114.   fileinfo: TSearchRec);
  115. begin
  116.     ListBoxResults.Items.Add(directory+'\'+fileinfo.Name);
  117. end;
  118.  
  119. procedure TFindForm.ButtonStopClick(Sender: TObject);
  120. begin
  121.     RspFind1.Stop;
  122.     ButtonStart.Enabled:=TRUE;
  123.     ButtonStop.Enabled:=FALSE;
  124.     ButtonPause.Enabled:=FALSE;
  125.     ButtonContinue.Enabled:=FALSE;
  126.     PanelConfig.Enabled:=TRUE;
  127. end;
  128.  
  129. procedure TFindForm.ButtonNarrowClick(Sender: TObject);
  130. begin
  131.     ButtonStopClick(Sender);
  132.     ListBoxFiles.Items:=ListBoxResults.Items;
  133.     ListBoxResults.Items.Clear;
  134.  
  135. end;
  136.  
  137. procedure TFindForm.ButtonPauseClick(Sender: TObject);
  138. begin
  139.     RspFind1.Pause;
  140.     ButtonPause.Enabled:=FALSE;
  141.     ButtonContinue.Enabled:=TRUE;
  142. end;
  143.  
  144. procedure TFindForm.ButtonContinueClick(Sender: TObject);
  145. begin
  146.     RspFind1.Continue;
  147.     ButtonContinue.Enabled:=FALSE;
  148.     ButtonPause.Enabled:=TRUE;
  149. end;
  150.  
  151. procedure TFindForm.ButtonExitClick(Sender: TObject);
  152. begin
  153.     Close;
  154. end;
  155.  
  156. procedure TFindForm.RspFind1Completed(Sender: TObject);
  157. begin
  158.     ButtonStart.Enabled:=TRUE;
  159.     ButtonPause.Enabled:=FALSE;
  160.     ButtonContinue.Enabled:=FALSE;
  161.     ButtonStop.Enabled:=FALSE;
  162.     PanelConfig.Enabled:=TRUE;
  163. end;
  164.  
  165. procedure TFindForm.FormCreate(Sender: TObject);
  166. begin
  167.     EditDrives.Text:=RspFind1.GetFixedDrives;
  168.     EditMask.Text:='*.exe';
  169.     EditText.Text:='borland';
  170. end;
  171.  
  172. end.
  173.